Pattern detection module, video encoding system and method for use therewith

ABSTRACT

A system for encoding a video stream into a processed video signal that includes at least one image, includes a pattern detection module for detecting a pattern of interest in the at least one image and identifying a region that contains the pattern of interest when the pattern of interest is detected. An encoder section, generates the processed video signal and wherein, when the pattern of interest is detected, a higher quantization is assigned to the region than to portions of the at least one image outside the region.

CROSS REFERENCE TO RELATED PATENTS

The present application is related to the following U.S. patent application that is contemporaneously filed and commonly assigned:

PEAK SIGNAL TO NOISE RATIO WEIGHTING MODULE, VIDEO ENCODING SYSTEM AND METHOD FOR USE THEREWITH, having Ser. No. 11/772,774;

the contents of which is expressly incorporated herein in their entirety by reference thereto.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to encoding used in devices such as video encoders/codecs.

DESCRIPTION OF RELATED ART

Video encoding has become an important issue for modern video processing devices. Robust encoding algorithms allow video signals to be transmitted with reduced bandwidth and stored in less memory. However, the accuracy of these encoding methods face the scrutiny of users that are becoming accustomed to higher resolution and better picture quality. Standards have been promulgated for many encoding methods including the H.264 standard that is also referred to as MPEG-4, part 10 or Advanced Video Coding, (AVC). While this standard sets forth many powerful techniques, further improvements are possible to improve the performance and speed of implementation of such methods.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of ordinary skill in the art through comparison of such systems with the present invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 presents a block diagram representation of a video processing device 125 in accordance with an embodiment of the present invention.

FIG. 2 presents a block diagram representation of a PSNR weighting module 150 in accordance with an embodiment of the present invention.

FIG. 3 presents a block diagram representation of a video processing device 125 in accordance with an embodiment of the present invention.

FIG. 4 presents a block diagram representation of a pattern detection module 175 in accordance with a further embodiment of the present invention.

FIG. 5 presents a block diagram representation of a region detection module 320 in accordance with a further embodiment of the present invention.

FIG. 6 presents a block diagram representation of a video encoding system 102 in accordance with an embodiment of the present invention.

FIG. 7 presents a block diagram representation of a video distribution system 175 in accordance with an embodiment of the present invention.

FIG. 8 presents a block diagram representation of a video storage system 179 in accordance with an embodiment of the present invention.

FIG. 9 presents a flowchart representation of a method in accordance with an embodiment of the present invention.

FIG. 10 presents a flowchart representation of a method in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION INCLUDING THE PRESENTLY PREFERRED EMBODIMENTS

FIG. 1 presents a block diagram representation of a video processing device 125 in accordance with an embodiment of the present invention. In particular, video processing device 125 includes a receiving module 100, such as a set-top box, television receiver, personal computer, cable television receiver, satellite broadcast receiver, broadband modem, 3G transceiver or other information receiver or transceiver that is capable of receiving video signals 110 from one or more sources such as a broadcast cable system, a broadcast satellite system, the Internet, a digital video disc player, a digital video recorder, or other video source. Video encoding system 102 is coupled to the receiving module 100 to encode, transrate and/or transcode one or more of the video signals 110 to form processed video signal 112.

In an embodiment of the present invention, the video signals 110 can include a broadcast video signal, such as a television signal, high definition televisions signal, enhanced high definition television signal or other broadcast video signal that has been transmitted over a wireless medium, either directly or through one or more satellites or other relay stations or through a cable network, optical network or other transmission network. In addition, the video signals 110 can be generated from a stored video file, played back from a recording medium such as a magnetic tape, magnetic disk or optical disk, and can include a streaming video signal that is transmitted over a public or private network such as a local area network, wide area network, metropolitan area network or the Internet.

Video signal 110 can include an analog video signal that is formatted in any of a number of video formats including National Television Systems Committee (NTSC), Phase Alternating Line (PAL) or Sequentiel Couleur Avec Memoire (SECAM). Processed video signal includes 112 a digital video codec standard such as H.264, MPEG-4 Part 10 Advanced Video Coding (AVC) or other digital format such as a Moving Picture Experts Group (MPEG) format (such as MPEG1, MPEG2 or MPEG4), Quicktime format, Real Media format, Windows Media Video (WMV) or Audio Video Interleave (AVI), or another digital video format, either standard or proprietary.

The video encoding system 102 includes a PSNR weighting module 150 that will be described in greater detail in conjunction with many optional functions and features described in conjunction with FIG. 2 that follows.

FIG. 2 presents a block diagram representation of a PSNR weighting module 150 in accordance with an embodiment of the present invention. In some circumstances, particularly when video encoding system 102 performs H264 or other encoding that includes in-loop de-blocking filtering, non-natural edges in an image (especially weak strait edges) can be blurred. PSNR weighting module 150 identifies edges in an image and weights the peak signal to noise ratio treatment of pixels identified as being associated with the identified edges. In particular, PSNR weighting module 150 includes an edge detection module 302 that generates an edge detection signal 304 from an image 310 (either frame or field) of a video signal. A peak signal to noise ratio module 306, generates a weighted peak signal to noise ratio signal 308 based on the image 310, an encoded image 300 that is encoded (including possibly transcoding and transrating) from image 310, and the edge detection signal 304.

In an embodiment of the present invention, the edge detection signal 304 identifies a plurality of edge pixels of the image 310 along or near one or more edges that are identified in the image 310. Edge detection module can use an edge detection algorithm such as Canny edge detection, however, other edge detection algorithms such as Roberts Cross, Prewitt, Sobel, Marr-Hildreth, zero-crossings, etc. can likewise be employed. Representing an M×N encoded image as f(i,j), the edge detection signal 304 can be represented by W(i,j), that for each pixel of frame f(i,j), has a different value for edge and non-edge pixels in the image, such as

W(i,j)=1, for edge pixels

W(i,j)=0, for non-edge pixels

Considering the encoded image 310 to be represented by *f(i,j), and the weighted peak signal to noise ratio signal 308 to be represented by PSNR_(w), peak signal to noise ratio module 306 can operate to find,

     PSNR_(w) = 10 log₁₀(MAX_(I)²/MSE_(w)) $\mspace{20mu}{{where},{{MSE}_{w} = {\sum\limits_{i = 0}^{M - 1}\;{\sum\limits_{j = 0}^{N - 1}{\left\lbrack {\left( {{f\left( {i,j} \right)},{- {{\,^{*}f}\left( {i,j} \right)}}} \right)^{2}\left( {1 + {\lambda\;{W\left( {i,j} \right)}}} \right)} \right\rbrack/\left\lbrack {\sum\limits_{i = 0}^{M - 1}\;{\sum\limits_{j = 0}^{N - 1}\;\left( {1 + {\lambda\;{W\left( {i,j} \right)}}} \right)}} \right\rbrack}}}}}$ Where λ is a weighting constant, B is the number of bits per sample in the image and where MAX_(I) is the 2^(B)−1. As shown in the equation above, the peak signal to noise ratio module 306 weights a signal to noise ratio corresponding to the plurality of edge pixels differently from a signal to noise ratio corresponding to the plurality of non-edge pixels.

FIG. 3 presents a block diagram representation of a video processing device 125′ in accordance with an embodiment of the present invention. In particular, video processing device operates as video processing device 125 and video encoding system 102′ operates similarly to video encoding system 102 but possibly without the inclusion of PSNR weighting module 150, but including pattern detection module 175. In particular, pattern detection module 175 can operate via clustering, statistical pattern recognition, syntactic pattern recognition or via other pattern detection methodologies to detect a pattern of interest in an image (frame or field) of video signal 110 and identifying a region that contains this pattern of interest when the pattern of interest is detected. An encoder section of video encoding system 102′ generates the processed video signal by quantizing and digitizing with a particular image quality, wherein, when the pattern of interest is detected, a higher quality, such as a lower quantization, higher resolution, or other higher quality is assigned to the region than to portions of the at least one image outside the region to provide a higher quality image when encoding the region as opposed to portions of the image that are outside of the region. For instance, the encoder section uses a greater resolution, quantization, etc. when encoding macroblocks within the region that it would ordinarily use if the pattern had not been detected and the region identified. The operation of pattern detection module 175 will be described in greater detail with many optional functions and features in conjunction with FIGS. 4 and 5 that follow.

FIG. 4 presents a block diagram representation of a pattern detection module 175 in accordance with a further embodiment of the present invention. In particular, pattern detection module 175 includes a region detection module 320 for detecting a detected region 322 in the at least one image and wherein the region is based on the detected region. In operation, the region detection module can detect the presence of a particular pattern or other region of interest that may require greater image quality. An example of such a pattern is a human face or other face, however, other patterns including symbols, text, important images and as well as application specific patterns and other patterns can likewise be implemented. Pattern detection module 175 optionally includes a region cleaning module 324 that generates a clean region 326 based on the detected region 322, such via a morphological operation. Pattern detection module 175 can further include a region growing module that expands the clean region 326 to generate a region identification signal 330 that identifies the region containing the pattern of interest.

Considering, for example, the case where the image 310 includes a human face and the pattern detection module 175 generates a region corresponding the human face, region detection module 320 can generate detected region 322 based on the detection of pixel color values corresponding to facial features such as skin tones. Region cleaning module can generate a more contiguous region that contains these facial features and region growing module can grow this region to include the surrounding hair and other image portions to ensure that the entire face is included in the region identified by region identification signal 330. The encoding section can operate using region identification signal 330 to emphasize the quality in this facial region while potentially deemphasizing other regions of the image. It should be noted that the overall image may be of higher quality to a viewer given the greater sensitivity and discernment of faces.

FIG. 5 presents a block diagram representation of a region detection module 320 in accordance with a further embodiment of the present invention. In this embodiment, region detection module 320 operates via detection of colors in image 310. Color bias correction module 340 generates a color bias corrected image 342 from image 310. Color space transformation module 344 generates a color transformed image 346 from the color bias corrected image 342. Color detection module generates the detected region 322 from the colors of the color transformed image 346.

For instance, following with the example discussed in conjunction with FIG. 4 where human faces are detected, color detection module 348 can operate to detect colors in the color transformed image 346 that correspond to skin tones using an elliptic skin model in the transformed space such as a C_(b)C_(r) subspace of a transformed YC_(b)C_(r) space. In particular, a parametric ellipse corresponding to contours of constant Mahalanobis distance can be constructed under the assumption of Gaussian skin tone distribution to identify a detected region 322 based on a two-dimension projection in the C_(b)C_(r) subspace. As exemplars, the 853,571 pixels corresponding to skin patches from the Heinrich-Hertz-Institute image database can be used for this purpose, however, other exemplars can likewise be used in broader scope of the present invention.

FIG. 6 presents a block diagram representation of a video encoding system 102 in accordance with an embodiment of the present invention. In particular, video encoding system 102 operates in accordance with many of the functions and features of the H.264 standard, the MPEG-4 standard, VC-1 (SMPTE standard 421M) or other standard, to encode, transrate or transcode video input signals 110 that are received via a signal interface 198.

The video encoding system 102 includes an encoder section 103 having signal interface 198, processing module 230, motion compensation module 240, memory module 232, and coding module 236. The processing module 230 that can be implemented using a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, co-processors, a micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions that are stored in a memory, such as memory module 202. Memory module 232 may be a single memory device or a plurality of memory devices. Such a memory device can include a hard disk drive or other disk drive, read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the processing module implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.

Processing module 230, and memory module 232 are coupled, via bus 250, to the signal interface 198 and a plurality of other modules, such as PSNR weighting module 150, pattern detection module 175, motion compensation module 240 and coding module 236. The modules of video encoder 102 can be implemented in software, firmware or hardware, depending on the particular implementation of processing module 230. It should also be noted that the software implementations of the present invention can be stored on a tangible storage medium such as a magnetic or optical disk, read-only memory or random access memory and also be produced as an article of manufacture. While a particular bus architecture is shown, alternative architectures using direct connectivity between one or more modules and/or additional busses can likewise be implemented in accordance with the present invention.

In operation, motion compensation module 240 and coding module 236 operate to produce a compressed video stream based on either a video stream from one or more video signals 110. Motion compensation module 240 operates in a plurality of macroblocks of each frame or field of the video stream generating residual luma and/or chroma pixel values corresponding to the final motion vector for each macroblock. Coding module 236 generates processed video signal 112 by transforming coding and quantizing the residual pixel values into quantized transformed coefficients that can be further coded, such as by entropy coding in entropy coding, filtered by a de-blocking filter and transmitted and/or stored as the processed video signal 112. In a transcoding application where digital video streams are received by the encoder 102, the incoming video signals can be combined prior to further encoding, transrating or transcoding. Alternatively, two or more encoded, transrated or transcoded video streams can be combined using the present invention as described herein.

FIG. 7 presents a block diagram representation of a video distribution system 175 in accordance with an embodiment of the present invention. In particular, processed video signal 112 is transmitted via a transmission path 122 to a video decoder 104. Video decoder 104, in turn can operate to decode the processed video signal for display on a display device such as television 10, computer 20 or other display device.

The transmission path 122 can include a wireless path that operates in accordance with a wireless local area network protocol such as an 802.11 protocol, a WIMAX protocol, a Bluetooth protocol, etc. Further, the transmission path can include a wired path that operates in accordance with a wired protocol such as a Universal Serial Bus protocol, an Ethernet protocol or other high speed protocol.

FIG. 8 presents a block diagram representation of a video storage system 179 in accordance with an embodiment of the present invention. In particular, device 11 is a set top box with built-in digital video recorder functionality, a stand alone digital video recorder, a DVD recorder/player or other device that stores the processed video signal 112 for display on video display device such as television 12. While video encoder 102 is shown as a separate device, it can further be incorporated into device 11. While these particular devices are illustrated, video storage system 179 can include a hard drive, flash memory device, computer, DVD burner, or any other device that is capable of generating, storing, decoding and/or displaying the combined video stream 220 in accordance with the methods and systems described in conjunction with the features and functions of the present invention as described herein.

FIG. 9 presents a flowchart representation of a method in accordance with an embodiment of the present invention. In particular a method is presented for use in conjunction with one or more functions and features described in conjunction with FIGS. 1-8. In step 500, the method determines if a pattern of interest is detected in the image. When the pattern of interest is detected, a region is identified that contains the pattern of interest as shown in step 502 and a higher quality is assigned to the region than to portions of the at least one image outside the region as shown in step 504.

In an embodiment of the present invention, the step of detecting a pattern of interest in the image detects a face in the image. Step 502 can generate a clean region based on a detected region and wherein the region is based on the clean region. Step 502 can generate a clean region based on a morphological operation. Step 502 can further expand the clean region to generate a region identification signal that identifies the region, generate a color bias corrected image from the at least one image, generate a color transformed image from the color bias corrected image, identify the region based on colors of the at least one image, and/or detect facial colors in the at least one image. Step 504 can be performed as part of a transcoding and/or transrating the at least one image.

FIG. 10 presents a flowchart representation of a method in accordance with an embodiment of the present invention In particular a method is presented for use in conjunction with one or more functions and features described in conjunction with FIGS. 1-9. In step 400, a encoded image is generated from the at least one image. In step 402, an edge detection signal is generated from the at least one image. In step 404, a weighted peak signal to noise ratio signal is generated based on the at least one image, the encoded image and the edge detection signal.

In an embodiment of the present invention, step 402 includes Canny edge detection. The at least one image includes a plurality of pixels that include a plurality of edge pixels along at least one edge contained in the at least one image and the edge detection signal identifies the plurality of edge pixels along the at least one edge. The edge detection signal can identify a plurality of non-edge pixels in the at least one image.

Step 404 can include weighting a signal to noise ratio corresponding to the plurality of edge pixels differently from a signal to noise ratio corresponding to the plurality of non-edge pixels. The encoded image can be generated from a transcoding and/or transrating of the at least one image.

In preferred embodiments, the various circuit components are implemented using 0.35 micron or smaller CMOS technology. Provided however that other circuit technologies, both integrated or non-integrated, may be used within the broad scope of the present invention.

While particular combinations of various functions and features of the present invention have been expressly described herein, other combinations of these features and functions are possible that are not limited by the particular examples disclosed herein are expressly incorporated in within the scope of the present invention.

As one of ordinary skill in the art will appreciate, the term “substantially” or “approximately”, as may be used herein, provides an industry-accepted tolerance to its corresponding term and/or relativity between items. Such an industry-accepted tolerance ranges from less than one percent to twenty percent and corresponds to, but is not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. Such relativity between items ranges from a difference of a few percent to magnitude differences. As one of ordinary skill in the art will further appreciate, the term “coupled”, as may be used herein, includes direct coupling and indirect coupling via another component, element, circuit, or module where, for indirect coupling, the intervening component, element, circuit, or module does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As one of ordinary skill in the art will also appreciate, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two elements in the same manner as “coupled”. As one of ordinary skill in the art will further appreciate, the term “compares favorably”, as may be used herein, indicates that a comparison between two or more elements, items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal 1 has a greater magnitude than signal 2, a favorable comparison may be achieved when the magnitude of signal 1 is greater than that of signal 2 or when the magnitude of signal 2 is less than that of signal 1.

As the term module is used in the description of the various embodiments of the present invention, a module includes a functional block that is implemented in hardware, software, and/or firmware that performs one or more functions such as the processing of an input signal to produce an output signal. As used herein, a module may contain submodules that themselves are modules.

Thus, there has been described herein an apparatus and method, as well as several embodiments including a preferred embodiment, for implementing a video encoding system and a pattern detection module and a peak signal to noise ratio weighting module for use therewith. Various embodiments of the present invention herein-described have features that distinguish the present invention from the prior art.

It will be apparent to those skilled in the art that the disclosed invention may be modified in numerous ways and may assume many embodiments other than the preferred forms specifically set out and described above. Accordingly, it is intended by the appended claims to cover all modifications of the invention which fall within the true spirit and scope of the invention. 

What is claimed is:
 1. A system for encoding a video stream into a processed video signal, the video stream including at least one image, the system comprising: a device that includes: a pattern detection module for detecting a pattern of interest in the at least one image, wherein the pattern detection module includes: a region detection module for detecting a detected region in the at least one image that contains the pattern of interest, the region detection module including a color bias correction module that generates a color bias corrected image from the at least one image, and wherein the detected region is detected based on detecting a first color in the color bias corrected image; a region cleaning module that generates a clean region by cleaning the detected region containing pattern of interest; and a region growing module that expands the clean region to generate a region identification signal that identifies a total region to include the clean region and at least one adjacent area that includes additional image features characterized by at least one color that is contrasting from the first color; and an encoder section, coupled to the region detection module, that generates the processed video signal, wherein, when the pattern of interest is detected, a higher quality is assigned to the total region than to portions of the at least one image outside the total region.
 2. The system of claim 1 wherein the region detection module detects a face in the at least one image and the total region includes a head.
 3. The system of claim 1 wherein the region cleaning module uses a morphological operation.
 4. The system of claim 1 wherein the region detection module further includes a color space transformation module that generates a color transformed image from the color bias corrected image and wherein the detected region is detected based on the color transformed image.
 5. The system of claim 1 wherein the region detection module includes a color detection module that generates the detected region based on colors of the at least one image.
 6. The system of claim 5 wherein the color detection module detects facial colors in the at least one image.
 7. The system of claim 1 wherein the encoder section transcodes the at least one image.
 8. The system of claim 1 wherein the encoder section transrates the at least one image.
 9. A method for encoding a video stream into a processed video signal, the video stream including at least one image, the method comprising: detecting a pattern of interest in the at least one image; and when the pattern of interest is detected operating the video encoding device by: identifying a detected region that contains the pattern of interest region, including generating a color bias corrected image from the at least one image and identifying the detected region based on detecting a first color in the color bias corrected image; generating a clean region by cleaning the detected region that contains the pattern of interest; expands the clean region to generate a region identification signal that identifies a total region to include the clean region and at least one adjacent area that includes additional image features characterized by at least one color that is contrasting from the first color; and assigning a higher quality to the total region than to portions of the at least one image outside the total region.
 10. The method of claim 9 wherein the step of detecting a pattern of interest in the at least one image detects a face in the at least one image and the total region includes a head.
 11. The method of claim 9 wherein step of generating the clean region cleans the detected region based on a morphological operation.
 12. The method of claim 9 wherein the step of identifying a detected region includes generating a color transformed image from the color bias corrected image and identifying the detected region based on the color transformed image.
 13. The method of claim 9 wherein the step of identifying a detected region can identify the region based on colors of the at least one image.
 14. The method of claim 9 wherein the step of identifying a detected region includes detecting facial colors in the at least one image.
 15. The method of claim 9 wherein the encoding includes transcoding the at least one image.
 16. The method of claim 9 wherein the encoding includes transrating the at least one image. 